Heap Dependence Analysis for Sequential Programs
نویسندگان
چکیده
In this paper we demonstrate a novel intra-procedural technique for detecting heap dependences in sequential programs that use recursive data structures. The novelty of our technique lies in the way we compute, for each statement, abstract heap access paths that approximate the locations accessed by the statement, and the way we convert these paths into equations that can be solved using traditional tests, e.g. GCD test, Banerjee test and Lamport test. The dependence test also uses a field sensitive shape analysis to detect dependences among heap locations arising out of sharing within the data structure. In presence of loops, the technique can be used to discover loop dependences. i.e. the dependence among two different iterations of the same loop. This information can be used by a parallelizing compiler to transform sequential input program for better parallel execution.
منابع مشابه
PracticalInterprocedural Heap Analysis for C ?
This paper presents a practical heap analysis technique, connection analysis, that can be used to disambiguate heap accesses in C programs. The technique is designed for analysing programs that allocate many disjoint objects in the heap such as dynamically-allocated arrays in scientiic programs. The method statically estimates connection matrices which encode the connection relationships betwee...
متن کاملIdentification of Heap-Carried Data Dependence Via Explicit Store Heap Models
Dependence information between program values is extensively used in many program optimization techniques. The ability to identify statements, calls and loop iterations that do not depend on each other enables many transformations which increase the instruction and thread-level parallelism in a program. When program variables contain complex data structures including arrays, records, and recurs...
متن کاملStability Analysis and Stabilization of Miduk Heap Leaching Structure, Iran
To construct copper heap leaching structures, a stepped heap of ore is placed over an isolated sloping surface and then washed with sulphuric acid. The isolated bed of such a heap consists of some natural and geosynthetic layers. Shear strength parameters between these layers are low, so they form the possible sliding surfaces of the heaps. Economic and environmental considerations call for stu...
متن کاملProperty-Guided Verification of Concurrent Heap-Manipulating Programs
Property-Guided Verification of Concurrent Heap-Manipulating Programs Eran YahavDoctor of PhilosophySchool of Computer ScienceTel-Aviv University We address the problem of verifying properties of concurrent and sequential programs written inlanguages, such as Java, that make extensive use of the heap to allocate—and deallocate—new objectsand threads. We present a framework f...
متن کاملPruning Interference and Ready Dependence for Slicing Concurrent Java Programs∗ (Extended Version)
The problem of efficiently calculating precise slices of concurrent programs is challenging because it is difficult to statically reason about the dependences that arise when multiple threads perform interfering reads/writes on shared data. The use of heap-allocated data in such programs makes the task even more difficult due to problems associated with aliasing. Existing presentations of slici...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011